This application makes reference to, incorporates the same herein, and claims all benefits accruing under 35 U.S.C xc2xa7119 from an application entitled Peripheral Component Interconnect (PCI) Card For Selectively Processing A PCI Bus Reset Signal And Method For Resetting The PCI Card earlier filed in the Korean Industrial Property Office on Jul. 29, 1998, and there duly assigned Serial No. 98-30484 by that Office.
The present invention relates to a peripheral component interconnect (PCI) card for selectively processing a PCI bus reset signal and a method for resetting a PCI card and in particular to a PCI card and a method to make the PCI card continuously operate by ignoring the reset signal when the state of the PCI card is normal when the reset signal is received from a computer system having the PCI bus.
A computer having a PCI bus is a principal body to a PCI card and the PCI card is dependent on the computer having the PCI bus. The PCI card does not independently determine whether or not to accept a reset signal of the computer system, and it is reset by a reset signal through the PCI bus. However, there is a problem in that if an apparatus for power is included in the PCI card so as to be operated independently to the computer having the PCI bus and the PCI card is reset whenever the computer having the PCI bus sends the reset signal, then memories, for example, managed within the PCI card are all initialized and all data, such as previous status information, etc., are lost.
The present invention is intended to provide a PCI card for selectively processing a PCI bus reset signal and a method for resetting the PCI card to make the PCI card continuously operate by ignoring the reset signal if the state of the PCI card is normal when the reset signal is received from a computer system having the PCI bus.
A preferable embodiment of a PCI card according to the present invention includes: a reset control circuit unit which is connected to the PCI bus and decides whether to reset the PCI card or ignore the received reset signal according to the received reset signal and outputs the decided result when are set signal is received from the computer system through the PCI bus; a central processing unit (CPU) controlling the reset control circuit unit; a memory unit including firmware diagnosing whether each component of the PCI card works normally or not and reporting the result of the diagnosing to the CPU, supposed that the reset signal of the PCI card is received from the CPU; and power module for supplying power to the PCI card.
According to the preferable embodiment of the present invention, the reset control circuit unit includes: an input for receiving the reset signal from the computer system through the PCI bus; an inhibit register (latch) that receives a control signal indicating whether or not the reset signal is to be ignored, i.e., xe2x80x9cperform the resetxe2x80x9d or xe2x80x9cignore the reset signal,xe2x80x9d and receives a write signal from the CPU as an ENABLE signal, and receives a Vcc_PWR.GOOD signal and outputs the control signal, wherein the Vcc_PWR.GOOD signal is a signal representing that the power is being supplied to the power module of the PCI card; and an AND gate performing logical product by receiving the reset signal and the output control signal of the inhibit register, and outputting the result of the logical product to the CPU in the PCI card.
The reset control circuit unit further comprises a reset store register for storing, if the reset signal is received, the received reset signal and the Vcc_PWR.GOOD signal at the received time. The inhibit register does not change the once determined state whether to reset the PCI card until the Vcc_PWR.GOOD signal is input again.
The state of the inhibit register changes to the reset state if it is diagnosed that a problem has occurred in any of the components of the PCI card as a result of a diagnosis by the firmware.
The state of the inhibit register changes to the state of ignoring the reset signal when it is diagnosed that the PCI card operates normally as a result of the diagnosis by the firmware.
Other preferable embodiment of a method for selectively processing PCI bus reset signal in a computer system having PCI bus according to the present invention includes the steps of: supplying the PCI card with power, wherein the PCI card is within the computer system independently to the computer system; when a reset signal is received from the computer system through the PCI bus, deciding whether to reset the PCI card or ignore the received reset signal, and outputting the decided result; diagnosing whether each component of the PCI card works normally or not, and reporting the diagnosis result to a CPU, wherein the CPU controls whether to reset the PCI card or ignore the received reset signal according to the received reset signal; performing reset of the PCI card when it is diagnosed that a problem has occurred in any of components of the PCI card as a result of the diagnosing; ignoring the reset signal received from the computer system and making PCI card keep operating if it is diagnosed that the PCI card operates normally as a result of the diagnosing.
According to the preferable embodiment of the present invention, the step of deciding whether to reset the PCI card or ignore the received reset signal received from the computer system includes the steps of: receiving the reset signal from the computer system through the PCI bus; receiving a control signal indicating whether to perform the reset or to ignore the reset signal, and receiving a write signal from the CPU as an enable signal, and receiving a Vcc_PWR.GOOD signal and outputting the control signal, wherein the Vcc_PWR.GOOD signal is a signal representing that the power is being supplied to the power module of the PCI card; and performing a logical product operation by receiving the reset signal received from the computer system and by receiving the control signal output as a value indicating whether to perform the reset or to ignore the reset signal, and outputting the result of the logical product operation to the CPU within the PCI card.
The step of deciding whether to reset the PCI card or ignore the received reset signal, in response to the reset signal received from the computer system, establishes a state as PCI card reset state if the Vcc_PWR.GOOD signal is input for the first time, and does not change the established state until the Vcc_PWR.GOOD signal is input again.
A step of storing, if the reset signal is received from the computer system through the PCI bus, the received reset signal and the Vcc_PWR.GOOD signal at the receive time in a reset store register is further included.
The step of diagnosing whether each component of the PCI card works normally or not includes the steps of: checking whether the reset state is established by a reset command received from the computer system by checking the value stored in the reset store register; initializing the components of the PCI card if it is not reset by the system reset command, and checking whether the reset state is established in response to the PCI card being supplied with power; initializing the components of the PCI card if the reset is in connection with supplying the PCI card with power by the check, and checking whether there is a problem in initialization if the reset is not in connection with supplying the PCI card with power; changing the state, which is established for the reset of the PCI card, to a performing reset state if a problem has occurred in initialization, and changing the state, which is established for the reset of the PCI card, to a state of ignoring the reset if a problem has not occurred in initialization; and performing the remaining initialization steps after changing the state.
When a problem has occurred in one of the components of the PCI card, the method includes the steps of: activating an interrupt handler for the problem component(s); analyzing by the interrupt handler whether the problem is to be solved only if the PCI card is to be used; and as a result of the analyzing, if it is determined that the reset for the PCI card is needed, changing the state, which is established for the reset of the PCI card, to the reset state, and if it is determined that the reset is not needed, regarding the corresponding component as error and terminating the method.